using System.Collections.Generic;
using Blog.Core.Entities;

namespace Blog.Infrastructure.DataAcces.Services.Abstractisations
{
    public interface IArticleService
    {
        IList<Article> GetAll();
        IList<Article> GetAll(List<long> ids);
        Article Get(long id);
        Article Get(string title);
        void Save(Article item);
        void Delete(long id);
        IList<Article> GetLatest(long itemsNumber);
        IList<Article> GetMostPopular(long itemsNumber);
        IList<Article> Archive(int page, int range);
        int Count();
        int PagesInArchive();
        Article GetForView(string title);
        IList<Article> ByCategory(string cat);
        IList<Category> Categories();
    }
}